Multiple individual computers are frequently ganged together for commercial uses of various kinds. For example, network “server farms” commonly include numerous racks of individual computers, each rack populated by several rack-mounted network server computers. In such an environment, it is desirable for a system administrator to be able to control certain functions and states of the individual computers remotely. In particular, it is desirable for a system administrator to be able to remotely control whether an individual computer is powered-on or powered-off.
One prior art method that has been employed to remotely control the power-on state of individual computers has been to use a local area network (“LAN”) connection. For example, a multiaccess computing (“MAC”) address can be used to select an individual machine using a LAN and to cause the machine to power itself on when its MAC address is detected. Solutions according to this scheme are sometimes referred to as “wake on LAN” solutions. Unfortunately, such solutions lack flexibility: The simple ability to power a machine on remotely is not as useful as the ability to turn it on and off, and to be able to specify the manner in which the machine turns off. (For example, it is sometimes desirable to specify a “soft” power down wherein the machine ends running processes in a controlled manner. At other times, it is desirable to specify a “hard” power down wherein the machine simply stops immediately.) Although other MAC address/LAN techniques have been employed having greater flexibility and features, these more elaborate solutions typically require more than one MAC or IP address per machine. The use of multiple addresses results in significantly higher implementation cost and complexity.
Moreover, MAC address/LAN techniques lack security: Almost by definition, the use of a LAN means that multiple users will have access to the individual machines that are connected to the LAN. In such an environment, the MAC addresses for the individual machines will be readily available to users. Therefore, it would be possible for the power-on state of an individual machine to be altered either by mistake or maliciously; either possibility is undesirable.
It is therefore an object of the invention to provide a flexible and secure mechanism for controlling the power-on state of individual computers remotely.